package com.coder.rental.utils;

import jakarta.annotation.Resource;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

// Redis工具类，用于封装对Redis数据库的操作
@Component
public class RedisUtils {

    // 注入StringRedisTemplate对象，用于操作Redis中字符串类型的数据
    @Resource
    private StringRedisTemplate stringRedisTemplate;

    /**
     * 设置Redis中的字符串值，并指定过期时间
     * @param key Redis键
     * @param value Redis值
     * @param timeout 过期时间（秒）
     */
    public void set(String key,String value,Long timeout){
        stringRedisTemplate.opsForValue().set(key,value,timeout, TimeUnit.SECONDS);
    }

    /**
     * 获取Redis中的字符串值
     * @param key Redis键
     * @return 对应键的值，如果键不存在则返回null
     */
    public String get(String key){
        return stringRedisTemplate.opsForValue().get(key);
    }

    /**
     * 删除Redis中的键值对
     * @param key 要删除的键
     */
    public void del(String key){
        stringRedisTemplate.delete(key);
    }

}

